home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / disk / DiskMon / DisKey_3.0_Preview / DisKey_3.0 / cmdshell.dk next >
Text File  |  1994-12-05  |  1KB  |  73 lines

  1. /*\
  2.  * $VER: CmdShell.dk 1.0 (19-10-94)
  3.  *
  4.  * Commandshell for DisKey
  5.  *
  6.  * Copyright © 1994 by Angela Schmidt
  7.  *
  8.  * History:
  9.  * ========
  10.  *  19-10-94: Initial release!
  11.  *
  12. \*/
  13.  
  14. OPTIONS RESULTS
  15. OPTIONS FAILAT 100
  16. OPTIONS PROMPT "REXX> "
  17. TRACE ''
  18.  
  19. SAY 'Enter commands - enter QUIT to close this window, HELP for help.'
  20.  
  21. DO FOREVER
  22.     PARSE PULL rxcmd
  23.     SELECT
  24.         WHEN (rxcmd = "") | (UPPER(rxcmd) = "END") | (UPPER(rxcmd) = "EXIT") | (UPPER(rxcmd) = "ENDCLI") | (UPPER(rxcmd) = "BYE") | (UPPER(rxcmd) = "CLOSE") | (UPPER(rxcmd) = "QUIT") THEN DO
  25.             CMDSHELL CLOSE
  26.             LEAVE
  27.         END
  28.  
  29.         WHEN (rxcmd = "?") | (UPPER(rxcmd) = "HELP") | (UPPER(rxcmd) = "H") THEN DO
  30.             SAY 'Enter "HELP <command>" to obtain a command''s template.'
  31.             SAY 'Enter "COMMANDS" to obtain all available commands.'
  32.             SAY 'Enter QUIT to close this window.'
  33.         END;
  34.  
  35.         WHEN (UPPER(rxcmd) = "COMMANDS") THEN DO
  36.             CALL ExecuteRexxCmd(HELP)
  37.         END
  38.  
  39.         OTHERWISE DO
  40.             CALL ExecuteRexxCmd(rxcmd)
  41.         END;
  42.  
  43.     END
  44. END
  45. RETURN
  46.  
  47.  
  48. ExecuteRexxCmd: PROCEDURE
  49. PARSE ARG rxcmd
  50.  
  51.     rxcmd
  52.  
  53.     IF RC = 0 THEN DO
  54.         IF symbol('RESULT') == "VAR" THEN DO
  55.             SAY RESULT
  56.         END
  57.         RETURN
  58.     END;
  59.     ELSE DO
  60.         IF LASTERRORNUMBER = 15 THEN DO            /* function not found */
  61.             ADDRESS COMMAND rxcmd
  62.         END;
  63.         ELSE DO
  64.             IF symbol('LASTERRORNUMBER') == "VAR" THEN DO
  65.                 SAY 'Command «'||rxcmd||'» returned '||RC||'; errormessage: '||errortext(LASTERRORNUMBER)
  66.             END;
  67.             ELSE DO
  68.                 SAY 'Command '||rxcmd||' returned '||RC
  69.             END;
  70.         END;
  71.     END;
  72. RETURN
  73.